package com.sz.mes.excel.model;

import java.util.Date;
import java.lang.Double;
import java.math.BigDecimal;
import java.util.List;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import com.diboot.core.util.D;
import com.diboot.core.util.V;
import com.diboot.file.excel.BaseExcelModel;
import com.diboot.file.excel.annotation.ExcelBindDict;
import com.diboot.file.excel.annotation.ExcelBindField;
import com.diboot.file.excel.annotation.ExcelOption;
import com.fasterxml.jackson.annotation.JsonFormat;

import lombok.Getter;
import lombok.Setter;
import com.diboot.iam.entity.IamUser;
import com.sz.mes.entity.CustomerType;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.NotNull;

import com.sz.mes.entity.Customer;

/**
* 客户资料 导入model定义
* @author hem
* @version 1.0
* @date 2023-04-04
* Copyright © szhs
*/
@Getter @Setter
@ExcelIgnoreUnannotated
@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 1)
public class CustomerImportModel extends BaseExcelModel {
	
    /**
     * 更新人
     */
    @ExcelBindField(entity = IamUser.class, field = "realname", setIdField = "updateBy")
    @ExcelProperty(value = "更新人")
    private String updateByName;
    
    private Long updateBy;
	
    /**
     * 客户名称
     */
    @Length(max=100, message="客户名称长度应小于100")
    @ExcelProperty(value = "客户名称")
    private String customerName;	
    /**
     * 客户编号
     */
    @Length(max=100, message="客户编号长度应小于100")
    @ExcelProperty(value = "客户编号")
    private String customerNumber;	
    /**
     * 客户类型id
     */
    @ExcelBindField(entity = CustomerType.class, field = "customerTypeName", setIdField = "customerTypeId")
    @ExcelProperty(value = "客户类型id")
    private String customerTypeCustomerTypeName;
    
    private Long customerTypeId;
	
    /**
     * 联系电话
     */
    @Length(max=100, message="联系电话长度应小于100")
    @ExcelProperty(value = "联系电话")
    private String telephone;	
    /**
     * 联系人
     */
    @Length(max=100, message="联系人长度应小于100")
    @ExcelProperty(value = "联系人")
    private String contacts;	
    /**
     * 开户名称
     */
    @Length(max=100, message="开户名称长度应小于100")
    @ExcelProperty(value = "开户名称")
    private String accountName;	
    /**
     * 税号
     */
    @Length(max=100, message="税号长度应小于100")
    @ExcelProperty(value = "税号")
    private String dutyParagraph;	
    /**
     * 开户银行
     */
    @Length(max=100, message="开户银行长度应小于100")
    @ExcelProperty(value = "开户银行")
    private String accountBank;	
    /**
     * 银行卡号
     */
    @Length(max=100, message="银行卡号长度应小于100")
    @ExcelProperty(value = "银行卡号")
    private String bankCard;	
    /**
     * 公司地址
     */
    @Length(max=100, message="公司地址长度应小于100")
    @ExcelProperty(value = "公司地址")
    private String companyAddress;	
    /**
     * 邮箱
     */
    @Length(max=100, message="邮箱长度应小于100")
    @ExcelProperty(value = "邮箱")
    private String email;	
    /**
     * 公司电话
     */
    @Length(max=100, message="公司电话长度应小于100")
    @ExcelProperty(value = "公司电话")
    private String companyPhone;	
    /**
     * 备注
     */
    @Length(max=100, message="备注长度应小于100")
    @ExcelProperty(value = "备注")
    private String remark;
}